{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "19c22823",
   "metadata": {},
   "source": [
    "<h1> KNN 알고리즘 사용</h1>\n",
    " \n",
    "KNN은 새로운 데이터가 주어졌을 때 기존 데이터 가운데 가장 가까운 𝑘개 이웃의 정보로 새로운 데이터를 예측하는 방법론입니다. 아래 그림처럼 검은색 점의 범주 정보는 주변 이웃들을 가지고 추론해낼 수 있습니다. 만약 𝑘가 1이라면 오렌지색, 𝑘가 3이라면 녹색으로 분류(classification)하는 것입니다."
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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5nrXECBAgAABAjUF3HNcc29SEyBAgAABAgQIJAgoxwmoRhIgQIAAAQIECNQUUI5r7k1qAgQIECBAgACBBAHlOAHVSAIECBAgQIAAgZoCynHNvUlNgAABAgQIECCQIKAcJ6AaSYAAAQIECBAgUFNAOa65N6kJECBAgAABAgQSBJTjBFQjCRAgQIAAAQIEagooxzX3JjUBAgQIECBAgECCgHKcgGokAQIECBAgQIBATQHluObepCZAgAABAgQIEEgQUI4TUI0kQIAAAQIECBCoKaAc19yb1AQIECBAgAABAgkCynECqpEECBAgQIAAAQI1BZTjmnuTmgABAgQIECBAIEFAOU5ANZIAAQIECBAgQKCmgHJcc29SEyBAgAABAgQIJAgoxwmoRhIgQIAAAQIECNQUUI5r7k1qAgQIECBAgACBBAHlOAHVSAIECBAgQIAAgZoCynHNvUlNgAABAgQIECCQIKAcJ6AaSYAAAQIECBAgUFNAOa65N6kJECBAgAABAgQSBJTjBFQjCRAgQIAAAQIEagooxzX3JjUBAgQIECBAgECCgHKcgGokAQIECBAgQIBATQHluObepCZAgAABAgQIEEgQUI4TUI0kQIAAAQIECBCoKaAc19yb1AQIECBAgAABAgkCa1rtYznnzs7Oxvz8/HKONIsAAQIEekBgamoqxsfHeyCJCAQIEMgTWPZynBfVZAIECBAgQIAAAQK5Am6ryPU1nQABAgQIECBAoJCAclxoWaISIECAAAECBAjkCijHub6mEyBAgAABAgQIFBJQjgstS1QCBAgQIECAAIFcAeU419d0AgQIECBAgACBQgLKcaFliUqAAAECBAgQIJAroBzn+ppOgAABAgQIECBQSEA5LrQsUQkQIECAAAECBHIFlONcX9MJECBAgAABAgQKCSjHhZYlKgECBAgQIECAQK6AcpzrazoBAgQIECBAgEAhAeW40LJEJUCAAAECBAgQyBVQjnN9TSdAgAABAgQIECgk8B2hqZEO4KHBJAAAAABJRU5ErkJggg=="
    }
   },
   "cell_type": "markdown",
   "id": "ac7fd34e",
   "metadata": {},
   "source": [
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "69bf63aa",
   "metadata": {},
   "source": [
    "<h1> sklearn KNeighborsClassifier "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "45c89dfb",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Max train score 98.6060419506618 % and k = [1]\n",
      "Max test score 95.53249494327676 % and k = [5]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import torch\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "sns.set()\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "import warnings\n",
    "\n",
    "warnings.filterwarnings('ignore')\n",
    "#data = pd.read_csv('data_set.csv')\n",
    "data = pd.read_csv('data_set_final.csv')\n",
    "\n",
    "sc_X = StandardScaler()\n",
    "'''\n",
    "1. Standard Scaler\n",
    "\n",
    "⚫ 기존 변수의 범위를 정규 분포로 변환하는 것.\n",
    "\n",
    "⚫ 데이터의 최소 최대를 모를 때 사용\n",
    "\n",
    "⚫ 모든 피처의 평균을 0, 분산을 1로 만듬\n",
    "\n",
    "⚫ 이상치가 있다면 평균과 표준편차에 영향을 미치기 때문에 데이터의 확산이 달라지게 됨\n",
    "\n",
    "     ➡️ 이상치가 많다면 사용하지 않는 것이 좋음 \n",
    "'''\n",
    "\n",
    "#X =  pd.DataFrame(sc_X.fit_transform(data.drop([\"direction\"],axis = 1),), columns=['x','y','z','angle','tight'])\n",
    "X =  pd.DataFrame(sc_X.fit_transform(data.drop([\"direction\"],axis = 1),), columns=['x','y','z'])\n",
    "y = data.direction\n",
    "'''\n",
    "x축 가속도 값, y축 가속도 값, z축 가속도 값을 train 데이터로 사용\n",
    "\n",
    "'''\n",
    "\n",
    "X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=1/3,random_state=42, stratify=y)\n",
    "'''\n",
    "데이터의 3분의 1을 test데이터로 사용\n",
    "'''\n",
    "\n",
    "test_scores = []\n",
    "train_scores = []\n",
    "\n",
    "for i in range(1,20):\n",
    "\n",
    "    knn = KNeighborsClassifier(i)\n",
    "    '''\n",
    "    i는 판단할 가장 가까운 이웃 점의 개수입니다. \n",
    "    성능이 가장 좋은 best i는 데이터마다 다르기 때문에 탐욕적인 방식으로 찾아야 하므로 점 1개부터 20개까지\n",
    "    for문을 돌려 제일 좋은 성능을 보여주는 점의 개수를 찾습니다.\n",
    "    '''\n",
    "    knn.fit(X_train,y_train)\n",
    "    \n",
    "    train_scores.append(knn.score(X_train,y_train))\n",
    "    test_scores.append(knn.score(X_test,y_test))\n",
    "    \n",
    "max_train_score = max(train_scores)\n",
    "train_scores_ind = [i for i, v in enumerate(train_scores) if v == max_train_score]\n",
    "print('Max train score {} % and k = {}'.format(max_train_score*100,list(map(lambda x: x+1, train_scores_ind))))\n",
    "\n",
    "max_test_score = max(test_scores)\n",
    "test_scores_ind = [i for i, v in enumerate(test_scores) if v == max_test_score]\n",
    "print('Max test score {} % and k = {}'.format(max_test_score*100,list(map(lambda x: x+1, test_scores_ind))))\n",
    "\n",
    "plt.figure(figsize=(12,5))\n",
    "p = sns.lineplot(range(1,20),train_scores,marker='*',label='Train Score')\n",
    "p = sns.lineplot(range(1,20),test_scores,marker='o',label='Test Score')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "55c66469",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9553249494327676"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "knn = KNeighborsClassifier(5)\n",
    "'''\n",
    "위의 그래프를 보면 점이 5개일 때 제일 높은 성능을 보여주는 것을 확인할 수 있습니다.\n",
    "'''\n",
    "knn.fit(X_train,y_train)\n",
    "knn.score(X_test,y_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "552536dc",
   "metadata": {},
   "source": [
    "<h1> predict"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "904b88cb",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0 8 2 7 5 7 4 2 5 6]\n"
     ]
    }
   ],
   "source": [
    "print(knn.predict(X_test[:10]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "98923c56",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "10788    0\n",
       "32659    8\n",
       "26034    2\n",
       "17302    7\n",
       "12351    5\n",
       "23787    7\n",
       "32728    4\n",
       "12683    2\n",
       "20367    5\n",
       "3469     6\n",
       "Name: direction, dtype: int64"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_test[:10]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "id": "bf61af77",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Max train score 99.64821247966228 % and k = [1]\n",
      "Max test score 98.90071233840472 % and k = [6]\n",
      "[0 8 2 7 5 7 4 2 5 6]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "10788    0\n",
       "32659    8\n",
       "26034    2\n",
       "17302    7\n",
       "12351    5\n",
       "23787    7\n",
       "32728    4\n",
       "12683    2\n",
       "20367    5\n",
       "3469     6\n",
       "Name: direction, dtype: int64"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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crj147XXXmP06NE4HA6GDh3KBx98AMB3331HbGxsxLZgbCondk3HabeydFVOtEsRERGRY5DVapBg85JorSDB5sVqjcw7408+OZ1f/eoKfvnLSzj99MH86ldX8KtfXcEHH/y73s9RVlbGvffeUetty5cv44Ybfs011/yCX/7yUl544WkCgUBEam9Kdc5EZ2RkcNttt3H11Vfj8/m4+OKL6du3L5MmTeLWW2+lT58+TJs2jeuuuw6v18uQIUO49tprAXjwwQeZOnUqlZWV9OzZk0ceeQSARx55hAceeIBZs2Zhs9mYOXNmeIealsLpsNKvezrL1uRxxTk9sFlbVv0iIiLSclmtBq7qPHL/NR1/cR62JDeei+6mwukmEDi6ltfbb78bgJ07d3DLLTfw+uuzGvwcpaUlrF275qDrvV4vDz10Py+++Ffatm2Hz+fjvvvu4p135nDJJZcfVd1NrV7bfu9dA3p/L7/8cvjr008/ndNPP/2gx/Xt25d33333oOs9Hg9//vOfG1hq8zOol4evf8rhp01F9O3aclpRREREpPny/bwY35r/HvY+6adfRu6HL+IvDu3B4S8OBeq0MTeS/8VsINQtcOByvPaep2HvMeyI6tq2bSszZjxGSUkxTmcMt912Jz16ZLFgwUfMmvUGFouFtm3bMmXKwzz11B/Jz8/j3nvv4LHHZoSfo6qqivLyMqqqKkP12O389re3U1kZurx27RqeeOJRqqurSExM4oEHHsbjyeCNN15lwYL5WCwWTj55ML/5za3k5uZw++23kJSUjNPp5Mknn+WFF55mxYpvCQSCjBkzjssuu/KIXmt91CtES+1O6JyGy2lj6aochWgRERFpMhZHbDhA7+UvzsPiiG207/nII1O57ba76NEji40bNzB58h28/fY7vPzyi/zlL6+RkpLK888/zZYtm/jd7+7klltuqBGgIbQgxVVX/ZqJE39Jx46d6N9/IGeccTYnntgPgIcemsKNN97CsGGn8u67/2TOnL8zYMBAFi36L6+88iY2m43777+LuXP/xdChw9myZTNz5jxLmzZtmTv3nwC8+upbeL1efv/7m8nK6s2JJ/ZvlPFQiD4KdpuFAT3dLFudi88fwG6zRrskERERaeHsPYbVOVts2LzYktw1grQtyY0Rl4Zr/L2hyxFcnaOiooJVq37i0Uenha+rrKykuHg3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kQZSiBYRERERaSCFaBERERGRBlKIFhERERFpIIVoEREREZEGUogWEREREWkghWgRERERkQZSiBYRERERaSCFaBERERGRBlKIFhERERFpIIXoVuy5555j7NixjB07lieeeKLW28844wwmTJjAhAkTeOutt6JQZcty1VVXMXbs2PCYff/99zVuX7VqFRdeeCGjRo3ivvvuw+/3R6nS5m/OnDnhcZwwYQInnXQS06ZNq3EfHaP1V1ZWxrhx49i2bRsAS5YsYfz48YwcOZKZM2fW+pgdO3Zw5ZVXMnr0aG688UbKy8ubsuRm7cDxnD17NuPGjWP8+PHce++9eL3egx7z7rvvMnz48PDxeqhxP1YdOKb33nsvI0eODI/XJ598ctBjdIwe2v7juXDhwhr/ng4ePJgbbrjhoMfoGI0wU1qlxYsXm5dddplZXV1ter1e8+qrrzYXLFhQ4z433HCDuXz58ihV2PIEg0Fz+PDhps/nO+R9xo4da65YscI0TdO89957zbfeequJqmvZfv75Z/Occ84xCwoKalyvY7R+vvvuO3PcuHHm8ccfb27dutWsrKw0R4wYYW7ZssX0+XzmxIkTzS+++OKgx11//fXm+++/b5qmaT733HPmE0880dSlN0sHjueGDRvMc845xywtLTWDwaB51113ma+99tpBj5s2bZo5b968pi+4BThwTE3TNMeNG2fm5OQc9nE6RmtX23julZuba5511lnmxo0bD3qcjtHI0kx0K+V2u7nnnntwOBzY7Xa6du3Kjh07atznhx9+4KWXXmL8+PFMmzaN6urqKFXbMmzYsAGAiRMnct555/G3v/2txu3bt2+nqqqKfv36AXDhhRfy0UcfNXWZLdKDDz7IbbfdRmpqao3rdYzWzz/+8Q+mTp2Kx+MBIDs7m44dO9KhQwdsNhvjx48/6Fj0+Xx88803jBo1CtDxur8Dx9PhcDB16lTi4+MxDIMePXoc9O8pwMqVK3n33XcZP348d9xxB8XFxU1derN14JhWVlayY8cOJk+ezPjx43nmmWcIBoM1HqNj9NAOHM/9PfHEE1x++eV06tTpoNt0jEaWQnQr1b1793CY27RpE/Pnz2fEiBHh28vLy+nVqxd33nkn7777LiUlJbzwwgtRqrZlKCkpYciQITz//PO8/vrr/P3vf2fx4sXh23Nzc3G73eHLbrebnJycaJTaoixZsoSqqirOPffcGtfrGK2/Rx55hIEDB4YvH3gsejyeg47FoqIi4uPjsdlsgI7X/R04nu3atWPYsGEAFBYW8tZbb3HWWWcd9Di3281vfvMb/v3vf9OmTZuD2pOOZQeOaX5+PoMHD+bRRx/lH//4B8uWLeOf//xnjcfoGD20A8dzr02bNrF06VKuvvrqWh+nYzSyFKJbubVr1zJx4kTuuuuuGn+VxsXF8fLLL9O1a1dsNhsTJ05k4cKF0Su0Bejfvz9PPPEECQkJpKamcvHFF9cYs2AwiGEY4cumada4LLX7+9//zq9//euDrtcxeuTqcyzWdp2O18PLycnhmmuu4aKLLuKUU0456Pbnn3+ek046CcMwuO666/jf//4XhSpbhg4dOvD888/j8XiIjY3lqquuOuj3W8dow82ePZsrrrgCh8NR6+06RiNLIboV+/bbb/nVr37F7bffzgUXXFDjth07dtT4q980zfBf+1K7ZcuW8eWXX4YvHzhmmZmZ5OXlhS/n5+fX+lab7OP1evnmm28488wzD7pNx+iRO/BYzMvLO+hYTE1NpbS0lEAgcMj7yD7r16/n8ssv54ILLuCmm2466PbS0lJef/318GXTNLFarU1YYcuyZs0aPv744/Dl2n6/dYw23GeffcaYMWNqvU3HaOQpRLdSO3fu5KabbmLGjBmMHTv2oNtjYmL44x//yNatWzFNk7feeotzzjknCpW2HKWlpTzxxBNUV1dTVlbGu+++W2PM2rVrh9Pp5NtvvwXgvffe47TTTotWuS3CmjVr6NSpEy6X66DbdIweuRNPPJGNGzeyefNmAoEA77///kHHot1uZ+DAgXz44YcAzJ07V8frIZSVlXHttdfy29/+lokTJ9Z6H5fLxSuvvBJesedvf/ubjtfDME2TRx99lOLiYnw+H7Nnzz5ovHSMNkxhYSFVVVV06NCh1tt1jEaeQnQr9de//pXq6moef/zx8FI2b7/9NpMmTWLlypWkpqYybdo0brzxRkaPHo1pmrW+pS77nHHGGYwYMYLzzz+fiy66iIsuuoj+/fuHxxRgxowZPPbYY4wePZqKiopD9qVJyNatW8nMzKxxnY7Ro+d0Onn88ce55ZZbGDNmDF26dGH06NEA3HfffXz22WcATJ06lX/84x+MGTOGZcuW8bvf/S6KVTdf//znP8nPz+e1114L/3v69NNPA/vG02q18tRTT/Hggw9y7rnn8uOPP3LnnXdGufLmKysri+uvv55f/OIXjB07ll69ejFu3DhAx+iR2rZt20H/noKO0cZkmKZpRrsIEREREZGWRDPRIiIiIiINpBAtIiIiItJACtEiIiIiIg2kEC0iIiIi0kAK0SIiIiIiDaQQLSIiIiLSQArRIiIiIiIN9P8BYfiaQoOZ5gUAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 864x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import torch\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "sns.set()\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "data = pd.read_csv('data_set.csv')\n",
    "#data.drop([\"direction\"],axis = 1)\n",
    "#data.head()\n",
    "\n",
    "sc_X = StandardScaler()\n",
    "X =  pd.DataFrame(sc_X.fit_transform(data.drop([\"direction\"],axis = 1),), columns=['x','y','z','angle','tight'])\n",
    "y = data.direction\n",
    "\n",
    "X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=1/3,random_state=42, stratify=y)\n",
    "\n",
    "test_scores = []\n",
    "train_scores = []\n",
    "\n",
    "for i in range(1,20):\n",
    "\n",
    "    knn = KNeighborsClassifier(i)\n",
    "    knn.fit(X_train,y_train)\n",
    "    \n",
    "    train_scores.append(knn.score(X_train,y_train))\n",
    "    test_scores.append(knn.score(X_test,y_test))\n",
    "    \n",
    "max_train_score = max(train_scores)\n",
    "train_scores_ind = [i for i, v in enumerate(train_scores) if v == max_train_score]\n",
    "print('Max train score {} % and k = {}'.format(max_train_score*100,list(map(lambda x: x+1, train_scores_ind))))\n",
    "\n",
    "max_test_score = max(test_scores)\n",
    "test_scores_ind = [i for i, v in enumerate(test_scores) if v == max_test_score]\n",
    "print('Max test score {} % and k = {}'.format(max_test_score*100,list(map(lambda x: x+1, test_scores_ind))))\n",
    "\n",
    "plt.figure(figsize=(12,5))\n",
    "p = sns.lineplot(range(1,20),train_scores,marker='*',label='Train Score')\n",
    "p = sns.lineplot(range(1,20),test_scores,marker='o',label='Test Score')\n",
    "\n",
    "knn = KNeighborsClassifier(6)\n",
    "\n",
    "knn.fit(X_train,y_train)\n",
    "knn.score(X_test,y_test)\n",
    "\n",
    "print(knn.predict(X_test[:10]))\n",
    "y_test[:10]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fe306178",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
